// 在严格空检查模式中，编译器要求未包含undefined类型的局部变量在使用之前必须先赋值。
// 使用--strictNullChecks参数进行编译
/*
let x: number;
let y: number | null;
let z: number | undefined;
x;  // 错误，使用前未赋值
y;  // 错误，使用前未赋值
z;  // 正确
x = 1;
y = null;
x;  // 正确
y;  // 正确*/
